package temp.helloworld.properties;

import java.util.Properties;

public class PropertiesHelper {

	public static Properties prop = null;

	/**
	 * 应用属性文件名
	 */
	public static final String APPLICATION_PROPERTIES_CLASS_NAME = "application.properties";

	/**
	 * 获得属性值，如果不存在则取传入的默认值
	 * 
	 * @param strDataName
	 *            属性名
	 * @param strDefaultDataValue
	 *            默认值
	 * @return
	 */
	public static String getProperty(String strPropertyName) {
		return getProperty(APPLICATION_PROPERTIES_CLASS_NAME, strPropertyName,
				"");
	}

	/**
	 * 获得属性值，如果不存在则取传入的默认值
	 * 
	 * @param strDataName
	 *            属性名
	 * @param strDefaultDataValue
	 *            默认值
	 * @return
	 */
	public static String getProperty(String strPropertyName,
			String strDefaultPropertyValue) {
		String strValue = "";
		// 从属性文件获得属性值
		strValue = getProperty(APPLICATION_PROPERTIES_CLASS_NAME,
				strPropertyName, strDefaultPropertyValue);

		return strValue;
	}

	/**
	 * 获得属性值，如果不存在则取传入的默认值
	 * 
	 * @param strClassName
	 *            属性文件名（类名）
	 * @param strPropertyName
	 *            属性名
	 * @param strDefaultPropertyValue
	 *            默认值
	 * @return
	 */
	public static String getProperty(String strClassName,
			String strPropertyName, String strDefaultPropertyValue) {
		String strPropertyValue = "";

		try {
			if (prop == null) {
				// 获得属性文件
				prop = PropertyLoader.loadProperties(strClassName);
			}

			// 获得属性值
			strPropertyValue = prop.getProperty(strPropertyName,
					strDefaultPropertyValue);

		} catch (Exception e) {
			e.printStackTrace();
			// 获得属性失败时取默认值
			strPropertyValue = strDefaultPropertyValue;
		}
		return strPropertyValue;
	}
}
